<?php
$url = 'localhost:3306';
$user = 'root';
$pwd = '';
$database = 'php';
$conn = mysqli_connect( $url, $user, $pwd, $database );
mysqli_query( $conn, 'set names utf8' );

// 要添加的多个商品
$arr = ["苹果","香蕉","梨","苹果"];
// 有两个 "苹果"，所以 第二个 "苹果" 会 添加失败

// 开始事务
mysqli_query($conn, "begin");
$msgs = [];// 错误信息
$is_success = true;// 默认能添加成功
foreach($arr as $name){
    $sql = "insert into product (p_name) values ('$name')";
    $result = mysqli_query($conn, $sql);
    if(!$result){
        // 有添加失败时，修改
        $is_success = false;
        $msgs[] = mysqli_error($conn);
    }
}

// 全部添加成功时，执行提交，否则执行回滚
if($is_success){
    mysqli_query($conn, "commit");
    echo "commit";
} else {
    mysqli_query($conn, "rollback");
    echo "rollback<br>";
    print_r($msgs);// 输出所有错误信息
}

mysqli_close( $conn );
?>